<?php
/**
 *  * 【模板方法模式】
模板方法是一种代码复用的基本技术，模板方法导致一种反射的控制结构，这指的是一个父类调用子类的操作。
其实现过程：准备一个抽象类，将部分逻辑以具体方法以及具体构造子的形式实现，然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同子类可以以不同的方式实现这些抽象方法，从而对剩余的逻辑有不同的实现。
 *
 * 【模板方法模式适用场景】
1、一次性实现一个算法的不变的部分，并将可变的行为留给子类来实现。
2、各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。
3、控制子类扩展。
 * Created by PhpStorm.
 * User: liangtiehui
 * Date: 2016/1/25
 * Time: 18:14
 */

namespace Template;

include "AbstractTemplate.php";
include "ConcreteStudentA.php";

class Client
{
    public static function run()
    {
        $concreteStudentA = new \Template\ConcreteStudentA();
        $concreteStudentA->templateMethod();
    }
}

Client::run();